Not Applicable
Not Applicable
This invention is related to the field of control logic for network devices, and in particular to techniques for field upgrading of programmable control logic used in network devices.
There is often a need to upgrade network equipment that has already been deployed in an operational network. This need can stem, for example, from evolving requirements placed upon the equipment over time. However, equipment that has been installed and is in use provides value in the form of either service or revenue to its operator. When an upgrade occurs, the benefits of the network can be lost if the network is not available for user traffic. Thus it is generally desirable to avoid, as much as possible, any disruption in service when performing an upgrade.
There are two major categories of functions performed in networking equipment. One is the processing of user traffic and the movement of traffic from one set of ports to another set of ports. The other is the observation and control of the user traffic for purposes such as network management, i.e., gathering information about network operation, establishing and modifying equipment configurations, responding to events such as equipment failure, etc. Although the boundary between processing/moving functions and observation/control functions in a given system is not always clear, the distinction is a useful one from the perspective of managing a network. In particular, the upgrading of network equipment may require changes to processing/moving functions, to observation/control functions, or to a combination of functions of both types. If an upgrade affects processing/moving functions, it is generally difficult if not impossible to avoid a disruption in service. For the upgrading of observation/control functions, however, it may be more possible, and hence desirable, to avoid a service disruption, if the observation/control functions do not directly affect the movement of data through the equipment.
In accordance with the present invention, a network device is disclosed in which programmable control logic can be upgraded without disturbing network traffic flowing through functional elements controlled by the control logic. The availability of the equipment is improved with only a minor increase in circuit complexity and component count.
The device includes latches or similar storage elements disposed between the control outputs of the control logic and the control inputs of the functional elements. During normal operation, the latches are in an xe2x80x9copenxe2x80x9d state to pass control signals from the control logic to the functional elements. The control outputs of the control logic may take on incorrect or indeterminate values during an upgrade. Therefore, during an upgrade, the latches are closed to maintain the control values on the inputs of the functional elements and to prevent the outputs of the control logic from affecting operation. After the re-programming is complete, the latches are re-opened so as to allow the outputs of the control logic to thereafter affect the operation of the functional elements.
The control logic can be implemented in a field-programmable gate array (FPGA) or similar logic having the property that at some point during re-programming, the control outputs temporarily take on a high-impedance value. The FPGA may be responsible for generating a latch enable signal that controls the latching of the inputs of the functional elements, in which case the latch enable signal also enters the high-impedance state during re-programming. The latch enable signal is maintained at a xe2x80x9clatchingxe2x80x9d value, i.e. a value that holds the latches closed, by a pullup/pulldown circuit during re-programming. Alternative circuits are shown for overriding an indeterminate latch enable signal generated by the control logic.
The disclosed use of latches on control signals provides a straightforward way to avoid affecting network traffic during necessary system upgrades, improving the quality of service experienced by network users.
Other aspects, features, and advantages of the present invention are disclosed in the detailed description that follows.